package com.kgc.scd.service;

import com.kgc.scd.bean.ArrivalUser;
import com.kgc.scd.bean.NotifyProArrive;
import com.kgc.scd.bean.Product;

import java.util.List;

/**
 * Created On : 2022/6/16.
 * <p>
 * Author     : nainai
 * <p>
 * Description: 到货提醒业务接口
 */
public interface NotifyProArriveService {
    
    /**
     * @author : nainai
     * @date   : 2022/6/16
     * @param  : [com.kgc.scd.bean.NotifyProArrive]
     * @return : boolean
     * @description : 添加到货提醒 
     */
    boolean addArrivalRemind(NotifyProArrive notifyProArrive);

    /**
     * @author : nainai
     * @date   : 2022/6/16
     * @param  : [java.lang.String, java.lang.String]
     * @return : com.kgc.scd.bean.NotifyProArrive
     * @description : 查看用户是否已经订阅了
     */
    boolean checkReminded(String userId, String proId);
    
    /**
     * @author : nainai
     * @date   : 2022/6/16
     * @param  : [java.lang.String]
     * @return : java.util.List<com.kgc.scd.bean.Product>
     * @description : 查询用户订阅到货提醒商品 
     */
    List<Product> queryUserRemindProduct(String userId);

    /**
     * @author : nainai
     * @date   : 2022/6/16
     * @param  : [java.lang.String]
     * @return : java.util.List<com.kgc.scd.bean.NotifyProArrive>
     * @description : 根据用户编号，查询到货提醒表 
     */
    List<NotifyProArrive> queryNotifyProArriveByUid(String userId);


    /**
     * @author : nainai
     * @date   : 2022/6/17
     * @param  : [java.lang.String]
     * @return : java.util.List<com.kgc.scd.bean.ArrivalUser>
     * @description : 根据商品编号，查询订阅到货通知用户，只查询状态为未发送
     */
    List<ArrivalUser> queryArrivalUserByProId(String proId);

    /**
     * @author : nainai
     * @date   : 2022/6/17
     * @param  : [com.kgc.scd.bean.NotifyProArrive]
     * @return : boolean
     * @description : 根据id，修改详情
     */
    boolean modNotifyProArriveById(NotifyProArrive notifyProArrive);


}

